//是否授权用户信息
const app = getApp();

//用户授权
function userLogin(userInfo) {
  wx.login({
    success: res => {
      // console.info(res);
      // 发送 res.code 到后台换取 openId, sessionKey, unionId
      if (res.code) {
        wx.request({
          url: '',
          data: { code: res.code },
          method: 'GET',
          success: function (res2) {
            // console.info(res2);
            //设置全局用户信息
            //app.globalData.userInfo = userInfo;
            //app.globalData.isUser = true
            //设置openId缓存
            wx.setStorageSync('openId', res2.data.openId);
          }
        })
      }
    }
  })
}

//未授权提示
function warn(){
  wx.showModal({
    title: '用户未授权',
    content: '如需获取用户联系方式，请按确定并在授权管理中选中“用户信息”，进行授权，最后再重新进入小程序即可正常使用。',
    success: function (res) {
      if (res.confirm) {
        console.log('用户点击确定')
        wx.openSetting({
          success: function success(res) {
            // console.log('进入了用户信息重复授权');
            // console.info(res.authSetting);
            if (res.authSetting["scope.userInfo"] == true) {
              wx.getUserInfo({
                success: function (data2) {
                  // console.info("重复授权===", data2.userInfo);
                  that.globalData.userInfo = data2.userInfo
                }
              })
            } else {
              // console.info("用户进入了重复授权设置，但是并未授权")
              wx.showModal({ content: '用户进入了重复授权设置，但是并未授权' });
            }
          }
        });
      } else if (res.cancel) {
        // console.log('用户点击取消')
        wx.showModal({ content: '用户取消了进入重复授权设置' });
      }
    }
  })
}


function myGetInfo(modal){  
  wx.getSetting({
    success:res=>{
      if (modal == "userInfo") {
        //无用户信息
        if (!res.authSetting["scope.userInfo"]) {
          wx.showModal({
            title: '提示',
            content: '该操作需要用户信息授权，点击确定可进行授权。',
            success: function (res) {
              if (res.confirm) {
                // console.log('用户点击确定')
                wx.openSetting({
                  success: function success(res) {
                    // console.log('进入了用户信息重复授权');
                    // console.info(res.authSetting);
                    if (res.authSetting["scope.userInfo"] == true) {
                      wx.getUserInfo({
                        success: function (data2) {
                          // console.info("授权设置", data2.userInfo);
                          app.globalData.userInfo = data2.userInfo
                        }
                      })
                    } else {
                      // console.info("用户进入了再次授权设置，但是并未授权")
                      wx.showModal({ content: '用户进入了再次授权设置，但是并未授权' });
                    }
                  }
                });
              } else if (res.cancel) {
                console.log('用户点击取消')
                wx.showModal({ content: '用户取消了进入再次授权设置' });
              }
            }
          })
        }
      } else if (modal == "userLocation"){
        //无地理位置
        if (!res.authSetting["scope.userLocation"]) {
          wx.showModal({
            title: '提示',
            content: '该操作需要获取您的位置信息，点击确定可进行授权。',
            success: function (res) {
              if (res.confirm) {
                // console.log('用户点击确定')
                wx.openSetting({
                  success: function success(res) {
                    // console.log('进入了用户信息重复授权');
                    // console.info(res.authSetting);
                    if (res.authSetting["scope.userLocation"] == true) {
                      wx.getLocation({
                        success: function (data2) {
                          // console.info(data2);
                          app.globalData.location = {
                            "longitude": data2.longitude,
                            "latitude": data2.latitude
                          };
                          app.globalData.hasLocation = true;
                          // console.info(app.globalData.location);
                        }
                      })
                    } else {
                      // console.info("用户进入了再次地理位置授权设置，但是并未授权")
                      wx.showModal({ content: '用户进入了再次地理位置授权设置，但是并未授权' });
                    }
                  }
                });
              } else if (res.cancel) {
                // console.log('用户点击取消')
                wx.showModal({ content: '用户取消了进入再次授权设置' });
              }
            }
          })
        }
      }
      
    }
  })
}


//是否授权地理位置
module.exports = {
  myGetInfo: myGetInfo
}
